#pragma once

#include "Entity.h"
#include "../SGD Wrappers/CSGD_DirectInput.h"
#include "AnimationInfo.h"
#include "Animation.h"

class CAnimationManager;

#include <vector>
using namespace std;


class CPlayer;
class CAvatar :
	public CEntity
{
public:
	CAvatar(void);
	~CAvatar(void);

	virtual void Update( float fElapsedTime );
	virtual void Render( void );
	virtual bool CheckCollision( IEntity * pOther );

	void SetTeam(int team)		{m_nTeam = team;}
	int  GetTeam(void)			{return m_nTeam;}
	CPlayer* GetOwner()			{return m_pOwner;}
	void SetOwner(CPlayer* goon) {m_pOwner = goon;}
	CAnimationInfo GetAnimationInfo( void ) { return m_pCurrAnimInfo; }
	CAnimation GetAnimation( void ) { return m_pAnimation; }

private:
	int m_nTeam;
	CPlayer* m_pOwner;

	// ANIMATION SYSTEM
	CAnimationInfo		m_pCurrAnimInfo;
	CAnimation			m_pAnimation;
	CAnimationManager*	m_pAnimManager;
	CSGD_DirectInput*	m_pDI; 
};

